from PySide2.QtWidgets import QApplication, QMainWindow, QPushButton, QPlainTextEdit, QMessageBox

class Stats():#统计 它是一个没有父类的类
    def __init__(self):
        self.window = QMainWindow()#它的父元素是显示器
        self.window.resize(500, 400)
        self.window.move(300, 310)#相对父元素(显示器)移动这些
        self.window.setWindowTitle('薪资统计')

        self.textEdit = QPlainTextEdit(self.window)
        self.textEdit.setPlaceholderText("请输入薪资表")
        self.textEdit.move(10,25)#相对父元素(不是显示器,是window 窗口 块)移动这些
        self.textEdit.resize(300,350)

        button = QPushButton('统计', self.window)#文本和父元素
        button.move(380,80)

        button.clicked.connect(self.handleCalc)
        #到这里,窗口元素和信号都处理完了,接下来是准备 处理数据用的槽函数
    def handleCalc(self):
        info = self.textEdit.toPlainText()
        salary_above_20k = ''
        salary_below_20k = ''
        for line in info.splitlines():
            if not line.strip():
                continue
            parts = line.split(' ')
            parts = [p for p in parts if p]
            name,salary,age = parts
            if int(salary) >= 20000:
                salary_above_20k += name + '\n'
            else:
                salary_below_20k += name + '\n'

        QMessageBox.about(self.window,
                          '统计结果',
                          f'''薪资20000 以上的有：\n{salary_above_20k}
                            \n薪资20000 以下的有：\n{salary_below_20k}'''
                             )
app = QApplication([]) #创建一个应用程序对象,提供整个图形界面的底层管理功能
stats = Stats() #创建一个统计对象
stats.window.show()
app.exec_()

#张三  4560 25
#李四  35767 23
#王五  14346 42
